﻿#define _CRT_SECURE_NO_WARNINGS

#include<stdio.h>
#include<stdlib.h>

//int main()
//{
//    union
//    {
//        short k;
//        char i[2];
//    }*s, a;
//    s = &a;
//    s->i[0] = 0x39;
//    s->i[1] = 0x38;
//    printf("%x\n", a.k);
//    return 0;
//}

//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	int* ps1 = (int*)malloc(n * sizeof(int));
//	if (ps1 == NULL)
//	{
//		perror(malloc);
//		return 1;
//	}
//	for (int i = 0; i < n; i++)
//	{
//		scanf("%d", ps1 + i);
//	}
//	int* ps2 = (int*)malloc(2 * n * sizeof(int));
//	if (ps2 == NULL)
//	{
//		perror(malloc);
//		return 1;
//	}
//	for (int i = 0; i < n; i++)
//	{
//		*(ps2 + i) = *(ps1 + i);
//		*(ps2 + i + n) = *(ps1 + i);
//	}
//	for (int i = 0; i < 2 * n; i++)
//	{
//		printf("%d ", *(ps2 + i));
//	}
//	free(ps1);
//	free(ps2);
//	ps1 = NULL;
//	ps2 = NULL;
//	return 0;
//}


//int main()
//{
//	int* ps = (int*)malloc(3 * 5 * sizeof(int));
//	if (ps == NULL)
//	{
//		perror("malloc");
//		return 1;
//	}
//	for (int i = 0; i < 3 ;i++)
//	{
//		for (int j = 0; j < 5; j++)
//		{
//			scanf("%d", ps + i*5 + j);
//		}
//	}
//	printf("%d\n", *(ps + 1 * 5 + 2));
//	free(ps);
//	ps = NULL;
//	return 0;
//
//}


//int test()
//{
//	union un u1 = { .n = 1 };
//	if (u1.ch == 1)
//		return 1;
//	else
//		return 0;
//}
//
//int main()
//{
//	int ret = test();
//	printf("%d", ret);
//	return 0;
//}


//union un {
//	int n;
//	char ch;
//};
//
//int main()
//{
//	//声明
//	union un u1;
//
//	union un* pu = &u1;
//
//	u1.ch = 'w';
//	printf("%c\n", u1.ch);
//	printf("%c\n", pu->ch);
//	u1.n = 5;
//	printf("%d\n", u1.n);
//	printf("%d\n", pu->n);
//	return 0;
//}

//union Un
//{
//	char c;
//	int i;
//};
//int main()
//{
//	//联合变量的定义
//	union Un un = { 0 };
//	// 下⾯输出的结果是⼀样的吗？
//	printf("%p\n", &(un.i));
//	printf("%p\n", &(un.c));
//	printf("%p\n", &un);
//	return 0;
//}

//union Un
//{
//	char c;
//	int i;
//};
//int main()
//{
//	//联合变量的定义
//	union Un un = { 0 };
//	un.i = 0x11223344;
//	un.c = 0x55;
//	printf("%x\n", un.i);
//	return 0;
//}

//struct S
//{
//	char c;
//	int i;
//};
//
//struct S s = { 0 };
//
//
//union Un
//{
// char c;
// int i;
//};
//union Un un = { 0 };

//union un1 {
//	char ch[5];
//	int n;
//};
//
//union un2 {
//	short ch[17];
//	int n;
//};
//
//int main()
//{
//	printf("%zd\n", sizeof(union un1));
//	printf("%zd\n", sizeof(union un2));
//	return 0;
//}


//struct gift_list
//{
//	int stock_number;//库存量
//	double price;//价格
//	int item_type;//商品类型
//
//	char title[20];//书名
//	char author[20];//作者
//	int num_pages;//页数
//
//	char design[30];//设计
//	int color;//颜色
//	int szie;//尺寸
//};

//struct gift_list
//{
//	int stock_number;//库存量
//	double price;//价格
//	int item_type;//商品类型
//
//	union 
//	{
//		struct 
//		{
//			char title[20];//书名
//			char author[20];//作者
//			int num_pages;//页数
//		}book;
//
//		struct
//		{
//			char design[30];//设计
//		}cup;
//
//		struct
//		{
//			char design[30];//设计
//			int color;//颜色
//			int szie;//尺寸
//		}shirt;
//	}item;
//};


//int main()
//{
//	int n = 1;
//	int* ps = &n;
//	if (*((char*)ps) == 1)
//		printf("小端");
//	else
//		printf("大端");
//	return 0;
//}

//union
//{
//	int i;
//	char c;
//}un;
//
//int main()
//{
//	un.i = 1;
//	if (un.i == 1)
//		printf("小端");
//	else
//		printf("大端");
//	return 0;
//}


enum Month
{
	Mon,
	Tues,
	Wed,
	Thur,
	Fri,
	Sat,
	Sun
};

enum Sex
{
	male,
	female,
	secret,
};

//默认
enum Color
{
	red = 0,
	green = 1,
	blue = 2
};

enum Color
{
	red = 1,
	green = 5,
	blue = 9
};